1. Field of the Invention
The present invention relates to methods, apparatus and computer-code for acquiring and presenting information describing database performance.
2. Related Art
Although database indexes are useful for facilitating faster execution of “select” database statements, it is known that database indices can sometimes slow the execution of certain database ‘data-writing’ database statements, such as UPDATE/DELETE/INSERT statements. This is because when data is added to one or more tables, there may be an index ‘cost’ or ‘overhead’ associated with maintaining the index—i.e. instead of adding ‘new data’ to only the table, the ‘new data’ must be added to the index as well (or alternatively, the index must be modified to change or delete existing data within the index—this must be done both for the index as well as the table), impeding execution of the ‘data-writing’ database statement.
Because of the potential ‘risk’ of performance degradation associated with creating too many indexes (or the wrong indexes), a skilled database administrator (DBA) will attempt to create indexes intelligently. Unfortunately, it is not always apparent a priori which indexes, on the whole, improved database performance and which indexes impede database performance.
There is an ongoing need for tools and techniques for determining the “cost” of any given index—i.e. what is total the overhead (i.e. when executing ‘data-writing’ statements such as UPDATE/DELETE/INSERT statements) for a given workload and/or over a given time interval.